#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "usart3.h"
#include "esp8266.h"
#include "timer.h"
#include "dht11.h"
#include "lcd.h"
#include "OLED.h"
#include "MyAdc.h"


int main(void)
{
//    u8 tempValue = 0;
//    u8 humidity = 0;
    u8 t = 0;
    u16 LightValue=0;
	u16 lightButton=0;

    // 设置中断优先级分组为组2：2位抢占优先级，2位响应优先级
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    delay_init();	   //延时函数初始化
    uart_init(115200); //串口初始化为115200

    // 初始化LED
    LED_Init();

    // 初始化ESP8266, 连接onenet, 进入透传模式
    uart3_init(115200);
    esp8266_start_trans();


    //初始化dhtll
//    DHT11_Init();
//    LCD_Init();
//    LCD_ShowString(30,50,200,16,16,"information collection system");

    //初始化OLED
    OLED_Init();

    //初始化ADC
    My_ADCDma_Init();


    while (1)
    {
        //DHT11_Read_Data(&tempValue,&humidity);	// 读取温湿度值
        OLED_ShowNum(1,1,ADValue[0],5);
        OLED_ShowNum(2,1,ADValue[1],5);
        if (t == 10)
        {
            t = 0;
            //将光敏传感器和红外传感器的数值传到云平台
            numToString((u8)(100-(ADValue[0]/40)));	//光敏传感器值
            printf("LightValue: %s, ", strValue);
            esp8266_str_data("temp", strValue);

            numToString((u8)(100-(ADValue[1]/40)));	//红外传感器值
            printf("PirValue: %s \r\n", strValue);
            esp8266_str_data("humi", strValue);

            // 将温度和湿度上传到云平台
            //numToString(tempValue);
            //printf("tempValue: %s, ", strValue);
            //LCD_ShowString(30,90,200,16,16,(u8 *)strValue);
            // esp8266_str_data("temp", strValue);
            //numToString(humidity);
            //printf("humidity: %s\r\n\r\n", strValue);
            //LCD_ShowString(30,130,200,16,16,(u8 *)strValue);
            //esp8266_str_data("humi", strValue);

            //LED_shan();

            //通过光照强度控制LED  当光照弱到一定程度  开启LED
            LightValue = esp8266_get_data("temp");	//获取esp8266数据
            if(LightValue<20)
            {
                LED0=0;   //LED0亮起
            }
            else
            {
                LED0=1;
            }

			//通过微信小程序的按键来控制LED的亮灭
			lightButton=esp8266_get_data("ledbtn");
			if(lightButton==1)
			{
				LED1=0;
			}
			else
			{
				LED1=1;
			}
        }
        delay_ms(10);
        t++;
    }
}


